package day0401;

import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;


public class Dynamic29 {
    /**
     * 27.书籍叠放问题
     * 题目描述
     * 假设书本的叠放有这样的规则，当A书的长度和宽度都大于B书时，可以将其B书置于A的上方，堆叠摆放，
     * 请设计一个程序，根据输入的书本长宽，计算最多可以堆叠摆放多少本书？
     * 输入
     * [[16,15],[13, 12],[15, 14]]
     * 输出
     * 3
     */

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String[] strs = sc.nextLine()
                .replace("[", "")
                .replace("]", "")
                .split(",");
        int[][] arr = new int[strs.length / 2][2];
        for (int i = 0; i < strs.length; i = i + 2) {
            arr[i / 2][0] = Integer.parseInt(strs[i]);
            arr[i / 2][1] = Integer.parseInt(strs[i + 1]);
        }
        // 对第二维排序计算
        Arrays.sort(arr, (o1, o2) -> o2[1] - o1[1]);
        int res1 = calResult(arr);
        // 对第一维排序计算
        Arrays.sort(arr, (o1, o2) -> o2[0] - o1[0]);
        int res2 = calResult(arr);
        System.out.println(Math.max(res1, res2));

    }

    private static int calResult(int[][] arr) {
        int res = 1;
        int l = arr[0][0];// 长
        int w = arr[0][1];// 宽
        for (int i = 0; i < arr.length - 1; i++) {
            if (l > arr[i + 1][0] && w > arr[i + 1][1]) {
                res++;
                l = arr[i + 1][0];
                w = arr[i + 1][1];
            }
        }
        return res;
    }

}

